home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 2002-10-03 | 92.1 KB | 1,321 lines
XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) NNNNAAAAMMMMEEEE XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx - The FileSelectionBox widget class SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS #include <Xm/FileSB.h> VVVVEEEERRRRSSSSIIIIOOOONNNN This page documents Motif 2.1. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN FileSelectionBox traverses through directories, views the files and subdirectories in them, and then selects files. A FileSelectionBox has five main areas: +o A text input field for displaying and editing a directory mask used to select the files to be displayed +o An optional text input field for displaying and editing a filter mask used to select the files to be displayed. +o A scrollable list of filenames +o A scrollable list of subdirectories +o A text input field for displaying and editing a filename +o A group of PushButtons, labeled _O_K, FFFFiiiilllltttteeeerrrr, CCCCaaaannnncccceeeellll, and HHHHeeeellllpppp. The layout direction of the buttons depends on the XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn resource. ####Additional children may be added to the FileSelectionBox after creation. FileSelectionBox inherits the layout functionality provided by SelectionBox for any additional children. To remove the list of filenames, the list of subdirectories, or both from the FileSelectionBox after creation, unmanage the appropriate widgets and their labels. The list and label widgets are obtained through a call to the XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxGGGGeeeettttCCCChhhhiiiilllldddd function. To remove either the directory list or the file list, unmanage the parent of the appropriate list widget and unmanage the corresponding label. The user can specify resources in a resource file for the automatically created widgets and gadgets of FileSelectionBox. The following list identifies the names of these widgets (or gadgets) and the associated FileSelectionBox areas: Page 1 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) FilterLabel FFFFiiiilllltttteeeerrrrTTTTeeeexxxxtttt Filter Text TTTTeeeexxxxttttFFFFiiiieeeelllldddd Directory List DDDDiiiirrrrLLLLiiiisssstttt Directory List Label DDDDiiiirrrr DirL LLLLaaaabbbbeeeellll DirText TTTTeeeexxxxttttFFFFiiiieeeelllldddd The directory mask is a string specifying the base directory to be examined and a search pattern. Ordinarily, the directory list displays the subdirectories of the base directory, as well as the base directory itself and its parent directory. The file list ordinarily displays all files and/or subdirectories in the base directory that match the search pattern. Optionally, the search pattern mask and the base directory can be displayed in two separate text fields. This option is controlled by the XXXXmmmmNNNNppppaaaatttthhhhMMMMooooddddeeee resource. Using this alternate display does not change the meaning of resources that control the content of these fields: XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy, XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk, XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn. A procedure specified by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc resource extracts the base directory and search pattern from the directory mask. If the directory specification is empty, the current working directory is used. If the search pattern is empty, a pattern that matches all files is used. An application can supply its own XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc as well as its own procedures to search for subdirectories and files. The default XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc works as follows: The directory mask is a pathname that can contain zero or more _w_i_l_d_c_a_r_d characters in its directory portion, its file portion, or both. The directory components of the directory mask - up to, but not including, the first component with a wildcard character - specify the directory to be searched, relative to the current working directory. The remaining components specify the search pattern. If the directory mask is empty or if its first component contains a wildcard character, the current working directory is searched. If no component of the directory mask contains a wildcard character, the entire directory mask is the directory specification, and all files in that directory are Page 2 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) matched. The user can select a new directory to examine by scrolling through the list of directories and selecting the desired directory or by editing the directory mask. Selecting a new directory from the directory list does not change the search pattern. A user can select a new search pattern by editing the directory mask or, when the FileSelectionBox has the optional XXXXmmmmNNNNppppaaaatttthhhhMMMMooooddddeeee XXXXmmmmPPPPAAAATTTTHHHH____MMMMOOOODDDDEEEE____RRRREEEELLLLAAAATTTTIIIIVVVVEEEE display, the filter text field. Double clicking or pressing KKKKAAAAccccttttiiiivvvvaaaatttteeee on a directory in the directory list initiates a search for files and subdirectories in the new directory, using the current search pattern. The user can select a file by scrolling through the list of filenames and selecting the desired file or by entering the filename directly into the text edit area. Selecting a file from the list causes that filename to appear in the file selection text edit area. The user may select a new file as many times as desired. The application is not notified until the user takes one of the following actions: +o Selects the _O_K PushButton +o Presses KKKKAAAAccccttttiiiivvvvaaaatttteeee while the selection text edit area has the keyboard focus +o Double clicks or presses KKKKAAAAccccttttiiiivvvvaaaatttteeee on an item in the file list FileSelectionBox initiates a directory and file search when any of the following occurs: +o The FileSelectionBox is initialized +o The function XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss is used to change XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk, XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy, XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn, or XXXXmmmmNNNNffffiiiilllleeeeTTTTyyyyppppeeeeMMMMaaaasssskkkk +o The user activates the FFFFiiiilllltttteeeerrrr PushButton +o The user double clicks or presses KKKKAAAAccccttttiiiivvvvaaaatttteeee on an item in the directory list +o The application calls XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnDDDDooooSSSSeeeeaaaarrrrcccchhhh +o The user presses KKKKAAAAccccttttiiiivvvvaaaatttteeee while the directory mask text edit area has the keyboard focus When a file search is initiated, the FileSelectionBox takes the following actions: Page 3 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) +o Constructs an XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt structure with values appropriate for the action that initiated the search +o Calls the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc with the callback structure as the data input argument +o Sets XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyVVVVaaaalllliiiidddd and XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd to False +o Calls the XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc with the qualified data returned by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc If XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyVVVVaaaalllliiiidddd is True, the FileSelectionBox takes the following additional actions: +o Sets XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd to False +o Calls the XXXXmmmmNNNNffffiiiilllleeeeSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc with the qualified data returned by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc (and possibly modified by the XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc) +o If XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd is True and the file list is empty, displays the XXXXmmmmNNNNnnnnooooMMMMaaaattttcccchhhhSSSSttttrrrriiiinnnngggg in the file list and clears the selection text and XXXXmmmmNNNNddddiiiirrrrSSSSppppeeeecccc +o If XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd is True and the file list is not empty, sets the selection text and XXXXmmmmNNNNddddiiiirrrrSSSSppppeeeecccc to the qualified _d_i_r returned by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc (and possibly modified by the XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc) +o Sets the directory mask text and XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk to the qualified _m_a_s_k returned by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc (and possibly modified by the XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc) +o Sets XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy to the qualified _d_i_r returned by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc (and possibly modified by the XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc) +o Sets XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn to the qualified _p_a_t_t_e_r_n returned by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc (and possibly modified by the XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc) FileSelectionBox uses the _X_m_Q_T_a_c_t_i_v_a_t_a_b_l_e trait. DDDDaaaattttaaaa TTTTrrrraaaannnnssssffffeeeerrrr BBBBeeeehhhhaaaavvvviiiioooorrrr Child widgets of a FileSelectionBox support the data transfer operations and targets associated with their widget classes. In addition, if the source of a data transfer is the directory list and if XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc has its default Page 4 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) value, the directory list supports the _F_I_L_E and _F_I_L_E__N_A_M_E targets. If the source of a data transfer is the file list and if XXXXmmmmNNNNffffiiiilllleeeeSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc has its default value, the file list supports the _F_I_L_E and _F_I_L_E__N_A_M_E targets. In either case, FileSelectionBox adds an XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttCCCCaaaallllllllbbbbaaaacccckkkkprocedure to the appropriate list. This procedure adds _F_I_L_E and _F_I_L_E__N_A_M_E to the _T_A_R_G_E_T_Sreturned by the list. It treats requests for conversion of a selection to _F_I_L_E and _F_I_L_E__N_A_M_E exactly like requests for conversion to _T_E_X_T. If an application changes XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc or XXXXmmmmNNNNffffiiiilllleeeeSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc and wants to support the _F_I_L_E and _F_I_L_E__N_A_M_E targets on the corresponding list, it must provide support itself by adding a procedure to the list's XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttCCCCaaaallllllllbbbbaaaacccckkkk list. DDDDeeeesssscccceeeennnnddddaaaannnnttttssss FileSelectionBox automatically creates the descendants shown in the following table. An application can use XXXXttttNNNNaaaammmmeeeeTTTTooooWWWWiiiiddddggggeeeetttt to gain access to the named descendant. In addition, a user or an application can use the named descendant when specifying resource values. NNNNaaaammmmeeeedddd DDDDeeeesssscccceeeennnnddddaaaannnntttt CCCCllllaaaassssssss IIIIddddeeeennnnttttiiiittttyyyy __________________________________________________________________________________________________________________________________________________________ AAAAppppppppllllyyyy XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt Apply button CCCCaaaannnncccceeeellll XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt Cancel button DDDDiiiirrrr XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt title above list of directories DDDDiiiirrrrLLLLiiiisssstttt XXXXmmmmLLLLiiiisssstttt list of directories DDDDiiiirrrrLLLLiiiissssttttSSSSWWWW XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww ScrolledWindow parent of DDDDiiiirrrrLLLLiiiisssstttt FFFFiiiilllltttteeeerrrrLLLLaaaabbbbeeeellll XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt title above filter box FFFFiiiilllltttteeeerrrrTTTTeeeexxxxtttt XXXXmmmmTTTTeeeexxxxtttt or XXXXmmmmTTTTeeeexxxxttttFFFFiiiieeeelllldddd text within filter box HHHHeeeellllpppp XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt Help button IIIItttteeeemmmmssss XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt title above list of filenames IIIItttteeeemmmmssssLLLLiiiisssstttt XXXXmmmmLLLLiiiisssstttt list of filenames IIIItttteeeemmmmssssLLLLiiiissssttttSSSSWWWW XXXXmmmmSSSSccccrrrroooolllllllleeeeddddWWWWiiiinnnnddddoooowwww ScrolledWindow parent of IIIItttteeeemmmmssssLLLLiiiisssstttt _O_K XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt OK button SSSSeeeelllleeeeccccttttiiiioooonnnn XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt title above selection box SSSSeeeeppppaaaarrrraaaattttoooorrrr XXXXmmmmSSSSeeeeppppaaaarrrraaaattttoooorrrrGGGGaaaaddddggggeeeetttt optional dividing line TTTTeeeexxxxtttt XXXXmmmmTTTTeeeexxxxtttt or XXXXmmmmTTTTeeeexxxxttttFFFFiiiieeeelllldddd text within selection box CCCCllllaaaasssssssseeeessss FileSelectionBox inherits behavior, resources, and traits from CCCCoooorrrreeee, CCCCoooommmmppppoooossssiiiitttteeee, CCCCoooonnnnssssttttrrrraaaaiiiinnnntttt, XXXXmmmmMMMMaaaannnnaaaaggggeeeerrrr, XXXXmmmmBBBBuuuulllllllleeeettttiiiinnnnBBBBooooaaaarrrrdddd, and XXXXmmmmSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx. The class pointer is _x_m_F_i_l_e_S_e_l_e_c_t_i_o_n_B_o_x_W_i_d_g_e_t_C_l_a_s_s. The class name is XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx. Page 5 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss The following table defines a set of widget resources used by the programmer to specify data. The programmer can also set the resource values for the inherited classes to set attributes for this widget. To reference a resource by name or by class in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove the XXXXmmmmNNNN or XXXXmmmmCCCC prefix and use the remaining letters. To specify one of the defined values for a resource in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove the XXXXmmmm prefix and use the remaining letters (in either lowercase or uppercase, but include any underscores between words). The codes in the access column indicate if the given resource can be set at creation time (C), set by using XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss (S), retrieved by using XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss (G), or is not applicable (N/A). XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt NNNNaaaammmmeeee CCCCllllaaaassssssss TTTTyyyyppppeeee DDDDeeeeffffaaaauuuulllltttt AAAAcccccccceeeessssssss XmNdirectory XmCDirectory XmString dynamic CSG XmNdirectoryValid XmCDirectoryValid Boolean dynamic SG XmNdirListItems XmCDirListItems XmStringTable dynamic SG XmNdirListItemCount XmCDirListItemCount int dynamic SG XmNdirListLabelString XmCDirListLabelString XmString dynamic CSG XmNdirMask XmCDirMask XmString dynamic CSG XmNdirSearchProc XmCDirSearchProc XmSearchProc default procedure CSG XmNdirSpec XmCDirSpec XmString dynamic CSG XmNdirTextLabelString XmCDirTextLabelString XmString NULL C XmNfileFilterStyle XmCFileFilterStyle XtEnum XmFILTER_NONE C XmNfileListItems XmCItems XmStringTable dynamic SG XmNfileListItemCount XmCItemCount int dynamic SG XmNfileListLabelString XmCFileListLabelString XmString dynamic CSG XmNfileSearchProc XmCFileSearchProc XmSearchProc default procedure CSG XmNfileTypeMask XmCFileTypeMask unsigned char XmFILE_REGULAR CSG XmNfilterLabelString XmCFilterLabelString XmString dynamic CSG XmNlistUpdated XmCListUpdated Boolean dynamic SG XmNnoMatchString XmCNoMatchString XmString " [ ] " CSG XmNpathMode XmCPathMode XtEnum XmPATH_MODE_FULL C XmNpattern XmCPattern XmString dynamic CSG XmNqualifySearchDataProc XmCQualifySearchDataProc XmQualifyProc default procedure CSG XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy Specifies the base directory used in combination with XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnnin determining the files and directories to be displayed. The default value is determined by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrrooooccccand depends on the initial values of XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk, XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy, and XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn. If the default is NULL or empty, the current working directory is used. XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyVVVVaaaalllliiiidddd Specifies an attribute that is set only by the directory search procedure. The value is set to Page 6 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) True if the directory passed to the directory search procedure can actually be searched. If this value is False the file search procedure is not called, and XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk, XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy, and XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn are not changed. XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttIIIItttteeeemmmmssss Specifies the items in the directory list. XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss for this resource returns the list items themselves, not a copy of the list items. The application must not free the returned items. XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt Specifies the number of items in the directory list. The value must not be negative. XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttLLLLaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg Specifies the label string of the directory list. The default for this resource depends on the locale. In the C locale the default is DDDDiiiirrrreeeeccccttttoooorrrriiiieeeessss. Now that some default localized label strings are provided through message catalogs for the children of composite widgets, the llllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg resources cannot be set on the child through default resource files. Instead, the resource provided at the parent level must be used. XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk Specifies the directory mask used in determining the files and directories to be displayed. The default value is determined by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrrooooccccand depends on the initial values of XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk, XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy, and XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn. XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc Specifies a directory search procedure to replace the default directory search procedure. FileSelectionBox's default directory search procedure fulfills the needs of most applications. Because it is impossible to cover the requirements of all applications, you can replace the default search procedure. The directory search procedure is called with two arguments: the FileSelectionBox widget and a pointer to an XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt structure. The callback structure is generated by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc and contains all information required to conduct a directory Page 7 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) search, including the directory mask and a qualified base directory and search pattern. Once called, it is up to the search routine to generate a new list of directories and update the FileSelectionBox widget by using XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss. The search procedure must set XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyVVVVaaaalllliiiidddd and XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd. If it generates a new list of directories, it must also set XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttIIIItttteeeemmmmssss and XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt. If the search procedure cannot search the specified directory, it must warn the user and set XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyVVVVaaaalllliiiidddd and XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeeddddto False, unless it prompts and subsequently obtains a valid directory. If the directory is valid but is the same as the current XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy, the search procedure must set XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyVVVVaaaalllliiiidddd to True, but it may elect not to generate a new list of directories. In this case, it must set XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd to False. If the search procedure generates a new list of directories, it must set XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttIIIItttteeeemmmmssss to the new list of directories and XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt to the number of items in the list. If there are no directories, it sets XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttIIIItttteeeemmmmssss to NULL and XXXXmmmmNNNNddddiiiirrrrLLLLiiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt to 0 (zero). In either case, it must set XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyVVVVaaaalllliiiidddd and XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd to True. The search procedure ordinarily should not change the callback structure. But if the original directory is not valid, the search procedure may obtain a new directory from the user. In this case, it should set the _d_i_r member of the callback structure to the new directory, call the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc with the callback struct as the input argument, and copy the qualified data returned by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc into the callback struct. XXXXmmmmNNNNddddiiiirrrrSSSSppppeeeecccc Specifies the full file path specification. This is the XXXXmmmmNNNNtttteeeexxxxttttSSSSttttrrrriiiinnnngggg resource in SelectionBox, renamed for FileSelectionBox. The default value is determined by the FileSelectionBox after conducting the initial directory and file search. XXXXmmmmNNNNddddiiiirrrrTTTTeeeexxxxttttLLLLaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg Uses the specified XXXXmmmmSSSSttttrrrriiiinnnngggg as the label above the TextField directory. The resource takes effect Page 8 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) when the XXXXmmmmNNNNppppaaaatttthhhhMMMMooooddddeeeeresource has a value of XXXXmmmmPPPPAAAATTTTHHHH____MMMMOOOODDDDEEEE____RRRREEEELLLLAAAATTTTIIIIVVVVEEEE. It is ignored when the XXXXmmmmNNNNppppaaaatttthhhhMMMMooooddddeeee resource has a value of XXXXmmmmPPPPAAAATTTTHHHH____MMMMOOOODDDDEEEE____FFFFUUUULLLLLLLL. Now that some default localized label strings are provided through message catalogs for the children of composite widgets, the llllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg resources cannot be set on the child through default resource files. Instead, the resource provided at the parent level must be used. XXXXmmmmNNNNffffiiiilllleeeeFFFFiiiilllltttteeeerrrrSSSSttttyyyylllleeee Specifies whether or not the "hidden" files (those whose names begin with . (period) in POSIX systems) will be listed in the file and directory scrolling lists (where the default directory search procedure is used). The possible values are: XXXXmmmmFFFFIIIILLLLTTTTEEEERRRR____NNNNOOOONNNNEEEE Does not filter hidden files. XXXXmmmmFFFFIIIILLLLTTTTEEEERRRR____HHHHIIIIDDDDDDDDEEEENNNN____FFFFIIIILLLLEEEESSSS Restricts the list of possible file names, such as those beginning with . (period). XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttIIIItttteeeemmmmssss Specifies the items in the file list. This is the XXXXmmmmNNNNlllliiiissssttttIIIItttteeeemmmmssss resource in SelectionBox, renamed for FileSelectionBox. XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss for this resource returns the list items themselves, not a copy of the list items. The application must not free the returned items. XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt Specifies the number of items in the file list. This is the XXXXmmmmNNNNlllliiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt resource in SelectionBox, renamed for FileSelectionBox. The value must not be negative. XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttLLLLaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg Specifies the label string of the file list. This is the XXXXmmmmNNNNlllliiiissssttttLLLLaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg resource in SelectionBox, renamed for FileSelectionBox. The default for this resource depends on the locale. In the C locale the default is FFFFiiiilllleeeessss. Now that some default localized label strings are provided through message catalogs for the children of composite widgets, the llllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg resources Page 9 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) cannot be set on the child through default resource files. Instead, the resource provided at the parent level must be used. XXXXmmmmNNNNffffiiiilllleeeeSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc Specifies a file search procedure to replace the default file search procedure. FileSelectionBox's default file search procedure fulfills the needs of most applications. Because it is impossible to cover the requirements of all applications, you can replace the default search procedure. The file search procedure is called with two arguments: the FileSelectionBox widget and a pointer to an XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt structure. The callback structure is generated by the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc (and possibly modified by the XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc). It contains all information required to conduct a file search, including the directory mask and a qualified base directory and search pattern. Once this procedure is called, it is up to the search routine to generate a new list of files and update the FileSelectionBox widget by using XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss. The search procedure must set XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd. If it generates a new list of files, it must also set XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttIIIItttteeeemmmmssss and XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt. It is recommended that the search procedure always generate a new list of files. If the _m_a_s_k member of the callback structure is the same as the _m_a_s_k member of the callback struct in the preceding call to the search procedure, the procedure may elect not to generate a new list of files. In this case it must set XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd to False. If the search procedure generates a new list of files, it must set XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttIIIItttteeeemmmmssss to the new list of files and XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt to the number of items in the list. If there are no files, it sets XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttIIIItttteeeemmmmssss to NULL and XXXXmmmmNNNNffffiiiilllleeeeLLLLiiiissssttttIIIItttteeeemmmmCCCCoooouuuunnnntttt to 0 (zero). In either case it must set XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd to True. In constructing the list of files, the search procedure should include only files of the types specified by the widget's XXXXmmmmNNNNffffiiiilllleeeeTTTTyyyyppppeeeeMMMMaaaasssskkkk. Setting XXXXmmmmNNNNddddiiiirrrrSSSSppppeeeecccc is optional, but recommended. Set this attribute to the full file specification of the directory searched. The directory Page 10 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) specification is displayed below the directory and file lists. XXXXmmmmNNNNffffiiiilllleeeeTTTTyyyyppppeeeeMMMMaaaasssskkkk Specifies the type of files listed in the file list. The possible values are XXXXmmmmFFFFIIIILLLLEEEE____RRRREEEEGGGGUUUULLLLAAAARRRR Restricts the file list to contain only regular files. XXXXmmmmFFFFIIIILLLLEEEE____DDDDIIIIRRRREEEECCCCTTTTOOOORRRRYYYY Restricts the file list to contain only directories. XXXXmmmmFFFFIIIILLLLEEEE____AAAANNNNYYYY____TTTTYYYYPPPPEEEE Allows the list to contain all file types including directories. XXXXmmmmNNNNffffiiiilllltttteeeerrrrLLLLaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg Specifies the label string for the text entry field for the directory mask. The default for this resource depends on the locale. In the C locale the default is FFFFiiiilllltttteeeerrrr. Now that some default localized label strings are provided through message catalogs for the children of composite widgets, the llllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg resources cannot be set on the child through default resource files. Instead, the resource provided at the parent level must be used. XXXXmmmmNNNNlllliiiissssttttUUUUppppddddaaaatttteeeedddd Specifies an attribute that is set only by the directory and file search procedures. This resource is set to True if the search procedure updated the directory or file list. XXXXmmmmNNNNnnnnooooMMMMaaaattttcccchhhhSSSSttttrrrriiiinnnngggg Specifies a string to be displayed in the file list if the list of files is empty. XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn Specifies the search pattern used in combination with XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyin determining the files and directories to be displayed. The default value is determined by XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrrooooccccand depends on the initial values of XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk, XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy, and XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn. If the default is NULL or empty, a pattern that matches all files is used. XXXXmmmmNNNNppppaaaatttthhhhMMMMooooddddeeee Page 11 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) Specifies whether or not an additional text field will be used to display and edit the filter. The possible values are XXXXmmmmPPPPAAAATTTTHHHH____MMMMOOOODDDDEEEE____FFFFUUUULLLLLLLL Specifies that no additional text field will be used to display the filter. There will just be a single text field to display XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk. XXXXmmmmPPPPAAAATTTTHHHH____MMMMOOOODDDDEEEE____RRRREEEELLLLAAAATTTTIIIIVVVVEEEE Specifies that there will be two text field displays, one to display the XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy and one to display the XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn. In this instance, the XXXXmmmmNNNNffffiiiilllltttteeeerrrrLLLLaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg resource applies to the text field for XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn and XXXXmmmmNNNNddddiiiirrrrTTTTeeeexxxxttttLLLLaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg applies to the text field for XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy. XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc Specifies a search data qualification procedure to replace the default data qualification procedure. FileSelectionBox's default data qualification procedure fulfills the needs of most applications. Because it is impossible to cover the requirements of all applications, you can replace the default procedure. The data qualification procedure is called to generate a qualified directory mask, base directory, and search pattern for use by the directory and file search procedures. It is called with three arguments: the FileSelectionBox widget and pointers to two XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt structures. The first callback structure contains the input data. The second callback structure contains the output data, to be filled in by the data qualification procedure. If the input _d_i_r and _p_a_t_t_e_r_n members are not NULL, the procedure must copy them to the corresponding members of the output callback structure. If the input _d_i_r is NULL, the procedure constructs the output _d_i_r as follows: If the input _m_a_s_k member is NULL, the procedure uses the widget's XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyy as the output _d_i_r; otherwise, it extracts the output _d_i_r from the input _m_a_s_k. If the resulting output _d_i_r is empty, the procedure uses the current working directory instead. Page 12 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) If the input _p_a_t_t_e_r_n is NULL, the procedure constructs the output _p_a_t_t_e_r_n as follows: If the input _m_a_s_k member is NULL, the procedure uses the widget's XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn as the output _p_a_t_t_e_r_n; otherwise, it extracts the output _p_a_t_t_e_r_n from the input _m_a_s_k. If the resulting output _p_a_t_t_e_r_n is empty, the procedure uses a pattern that matches all files instead. The data qualification procedure constructs the output _m_a_s_k from the output _d_i_r and _p_a_t_t_e_r_n. The procedure must ensure that the output _d_i_r, _p_a_t_t_e_r_n, and _m_a_s_k are fully qualified. If the input _v_a_l_u_e member is not NULL, the procedure must copy it to the output _v_a_l_u_e member; otherwise, the procedure must copy the widget's XXXXmmmmNNNNddddiiiirrrrSSSSppppeeeecccc to the output _v_a_l_u_e. The data qualification procedure must calculate the lengths of the output _v_a_l_u_e, _m_a_s_k, _d_i_r, and _p_a_t_t_e_r_n members and must fill in the corresponding length members of the output callback struct. The data qualification procedure must copy the input _r_e_a_s_o_n and _e_v_e_n_t members to the corresponding output members. The values of the XXXXmmmmNNNNddddiiiirrrrSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc and XXXXmmmmNNNNffffiiiilllleeeeSSSSeeeeaaaarrrrcccchhhhPPPPrrrrooooccccare procedure pointers of type XXXXmmmmSSSSeeeeaaaarrrrcccchhhhPPPPrrrroooocccc, defined as follows: void (* XmSearchProc) (_w, _s_e_a_r_c_h__d_a_t_a) Widget _w; XtPointer _s_e_a_r_c_h__d_a_t_a; _w The FileSelectionBox widget _s_e_a_r_c_h__d_a_t_a Pointer to an XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt containing information for conducting a search The value of the XXXXmmmmNNNNqqqquuuuaaaalllliiiiffffyyyySSSSeeeeaaaarrrrcccchhhhDDDDaaaattttaaaaPPPPrrrroooocccc resource is a procedure pointer of type XXXXmmmmQQQQuuuuaaaalllliiiiffffyyyyPPPPrrrroooocccc, defined as follows: void (* XmQualifyProc) (_w, _i_n_p_u_t__d_a_t_a, _o_u_t_p_u_t__d_a_t_a) Widget _w; XtPointer _i_n_p_u_t__d_a_t_a; XtPointer _o_u_t_p_u_t__d_a_t_a; _w The FileSelectionBox widget _i_n_p_u_t__d_a_t_a Page 13 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) Pointer to an XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt containing input data to be qualified _o_u_t_p_u_t__d_a_t_a Pointer to an XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt containing output data to be filled in by the qualification procedure IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss FileSelectionBox inherits behavior and resources from the superclasses described in the following tables. For a complete description of each resource, refer to the reference page for that superclass. XXXXmmmmSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt NNNNaaaammmmeeee CCCCllllaaaassssssss TTTTyyyyppppeeee DDDDeeeeffffaaaauuuulllltttt AAAAcccccccceeeessssssss XmNapplyCallback XmCCallback XtCallbackList NULL C XmNapplyLabelString XmCApplyLabelString XmString dynamic CSG XmNcancelCallback XmCCallback XtCallbackList NULL C XmNcancelLabelString XmCCancelLabelString XmString dynamic CSG XmNchildPlacement XmCChildPlacement unsigned char XmPLACE_ABOVE_SELECTION CSG XmNdialogType XmCDialogType unsigned char XmDIALOG_FILE_SELECTION G XmNhelpLabelString XmCHelpLabelString XmString dynamic CSG XmNlistItemCount XmCItemCount int dynamic CSG XmNlistItems XmCItems XmStringTable dynamic CSG XmNlistLabelString XmCListLabelString XmString dynamic CSG XmNlistVisibleItemCount XmCVisibleItemCount int dynamic CSG XmNminimizeButtons XmCMinimizeButtons Boolean False CSG XmNmustMatch XmCMustMatch Boolean False CSG XmNnoMatchCallback XmCCallback XtCallbackList NULL C XmNokCallback XmCCallback XtCallbackList NULL C XmNokLabelString XmCOkLabelString XmString dynamic CSG XmNselectionLabelString XmCSelectionLabelString XmString dynamic CSG XmNtextAccelerators XmCTextAccelerators XtAccelerators default C XmNtextColumns XmCColumns short dynamic CSG XmNtextString XmCTextString XmString dynamic CSG XXXXmmmmBBBBuuuulllllllleeeettttiiiinnnnBBBBooooaaaarrrrdddd RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt NNNNaaaammmmeeee CCCCllllaaaassssssss TTTTyyyyppppeeee DDDDeeeeffffaaaauuuulllltttt AAAAcccccccceeeessssssss XmNallowOverlap XmCAllowOverlap Boolean True CSG XmNautoUnmanage XmCAutoUnmanage Boolean False CG XmNbuttonFontList XmCButtonFontList XmFontList dynamic CSG XmNbuttonRenderTable XmCButtonRenderTable XmRenderTable dynamic CSG XmNcancelButton XmCWidget Widget Cancel button SG XmNdefaultButton XmCWidget Widget OK button SG XmNdefaultPosition XmCDefaultPosition Boolean True CSG XmNdialogStyle XmCDialogStyle unsigned char dynamic CSG XmNdialogTitle XmCDialogTitle XmString NULL CSG XmNfocusCallback XmCCallback XtCallbackList NULL C XmNlabelFontList XmCLabelFontList XmFontList dynamic CSG Page 14 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) XmNlabelRenderTable XmCLabelRenderTable XmRenderTable dynamic CSG XmNmapCallback XmCCallback XtCallbackList NULL C XmNmarginHeight XmCMarginHeight Dimension 10 CSG XmNmarginWidth XmCMarginWidth Dimension 10 CSG XmNnoResize XmCNoResize Boolean False CSG XmNresizePolicy XmCResizePolicy unsigned char XmRESIZE_ANY CSG XmNshadowType XmCShadowType unsigned char XmSHADOW_OUT CSG XmNtextFontList XmCTextFontList XmFontList dynamic CSG XmNtextRenderTable XmCTextRenderTable XmRenderTable dynamic CSG XmNtextTranslations XmCTranslations XtTranslations NULL C XmNunmapCallback XmCCallback XtCallbackList NULL C XXXXmmmmMMMMaaaannnnaaaaggggeeeerrrr RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt NNNNaaaammmmeeee CCCCllllaaaassssssss TTTTyyyyppppeeee DDDDeeeeffffaaaauuuulllltttt AAAAcccccccceeeessssssss XmNbottomShadowColor XmCBottomShadowColor Pixel dynamic CSG XmNbottomShadowPixmap XmCBottomShadowPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG XmNforeground XmCForeground Pixel dynamic CSG XmNhelpCallback XmCCallback XtCallbackList NULL C XmNhighlightColor XmCHighlightColor Pixel dynamic CSG XmNhighlightPixmap XmCHighlightPixmap Pixmap dynamic CSG XmNinitialFocus XmCInitialFocus Widget dynamic CSG XmNlayoutDirection XmCLayoutDirection XmDirection dynamic CG XmNnavigationType XmCNavigationType XmNavigationType XmTAB_GROUP CSG XmNpopupHandlerCallback XmCCallback XtCallbackList NULL C XmNshadowThickness XmCShadowThickness Dimension dynamic CSG XmNstringDirection XmCStringDirection XmStringDirection dynamic CG XmNtopShadowColor XmCTopShadowColor Pixel dynamic CSG XmNtopShadowPixmap XmCTopShadowPixmap Pixmap dynamic CSG XmNtraversalOn XmCTraversalOn Boolean True CSG XmNunitType XmCUnitType unsigned char dynamic CSG XmNuserData XmCUserData XtPointer NULL CSG CCCCoooommmmppppoooossssiiiitttteeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt NNNNaaaammmmeeee CCCCllllaaaassssssss TTTTyyyyppppeeee DDDDeeeeffffaaaauuuulllltttt AAAAcccccccceeeessssssss XmNchildren XmCReadOnly WidgetList NULL G XmNinsertPosition XmCInsertPosition XtOrderProc NULL CSG XmNnumChildren XmCReadOnly Cardinal 0 G CCCCoooorrrreeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt NNNNaaaammmmeeee CCCCllllaaaassssssss TTTTyyyyppppeeee DDDDeeeeffffaaaauuuulllltttt AAAAcccccccceeeessssssss XmNaccelerators XmCAccelerators XtAccelerators dynamic N/A XmNancestorSensitive XmCSensitive Boolean dynamic G XmNbackground XmCBackground Pixel dynamic CSG XmNbackgroundPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG XmNborderColor XmCBorderColor Pixel XtDefaultForeground CSG XmNborderPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG XmNborderWidth XmCBorderWidth Dimension 0 CSG XmNcolormap XmCColormap Colormap dynamic CG XmNdepth XmCDepth int dynamic CG XmNdestroyCallback XmCCallback XtCallbackList NULL C Page 15 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) XmNheight XmCHeight Dimension dynamic CSG XmNinitialResourcesPersistent XmCInitialResourcesPersistent Boolean True C XmNmappedWhenManaged XmCMappedWhenManaged Boolean True CSG XmNscreen XmCScreen Screen * dynamic CG XmNsensitive XmCSensitive Boolean True CSG XmNtranslations XmCTranslations XtTranslations dynamic CSG XmNwidth XmCWidth Dimension dynamic CSG XmNx XmCPosition Position 0 CSG XmNy XmCPosition Position 0 CSG CCCCaaaallllllllbbbbaaaacccckkkk IIIInnnnffffoooorrrrmmmmaaaattttiiiioooonnnn A pointer to the following structure is passed to each callback: typedef struct { int _r_e_a_s_o_n; XEvent * _e_v_e_n_t; XmString _v_a_l_u_e; int _l_e_n_g_t_h; XmString _m_a_s_k; int _m_a_s_k__l_e_n_g_t_h; XmString _d_i_r; int _d_i_r__l_e_n_g_t_h; XmString _p_a_t_t_e_r_n; int _p_a_t_t_e_r_n__l_e_n_g_t_h; } XmFileSelectionBoxCallbackStruct; _r_e_a_s_o_n Indicates why the callback was invoked _e_v_e_n_t Points to the _X_E_v_e_n_t that triggered the callback _v_a_l_u_e Specifies the current value of XXXXmmmmNNNNddddiiiirrrrSSSSppppeeeecccc _l_e_n_g_t_h Specifies the number of bytes in _v_a_l_u_eThis member is obsolete and exists for compatibility with earlier releases. _m_a_s_k Specifies the current value of XXXXmmmmNNNNddddiiiirrrrMMMMaaaasssskkkk _m_a_s_k__l_e_n_g_t_h Specifies the number of bytes in _m_a_s_kThis member is obsolete and exists for compatibility with earlier releases. _d_i_r Specifies the current base directory _d_i_r__l_e_n_g_t_h Specifies the number of bytes in _d_i_rThis member is obsolete and exists for compatibility with earlier releases. Page 16 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) _p_a_t_t_e_r_n Specifies the current search pattern _p_a_t_t_e_r_n__l_e_n_g_t_h Specifies the number of bytes in _p_a_t_t_e_r_nThis member is obsolete and exists for compatibility with earlier releases. TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnnssss XmFileSelectionBox inherits translations from XmSelectionBox. AAAAcccccccceeeelllleeeerrrraaaattttoooorrrrssss The XXXXmmmmNNNNtttteeeexxxxttttAAAAcccccccceeeelllleeeerrrraaaattttoooorrrrssss from XmSelectionBox are added to the selection and directory mask (filter) Text descendants of XmFileSelectionBox. AAAAccccttttiiiioooonnnn RRRRoooouuuuttttiiiinnnneeeessss The XmFileSelectionBox action routines are SelectionBoxUpOrDown(_P_r_e_v_i_o_u_s|_N_e_x_t|_F_i_r_s_t|_L_a_s_t): If neither the selection text nor the directory mask (filter) text has the focus, this action does nothing. If the selection text has the focus, the term _l_i_s_t in the following description refers to the file list, and the term _t_e_x_trefers to the selection text. If the directory mask text has the focus, _l_i_s_t refers to the directory list, and _t_e_x_t refers to the directory mask text. When called with an argument of PPPPrrrreeeevvvviiiioooouuuussss, or 0 (zero) for compatibility, this action selects the previous item in the list and replaces the text with that item. When called with an argument of NNNNeeeexxxxtttt, or 1 for compatibility, this action selects the next item in the list and replaces the text with that item. When called with an argument of FFFFiiiirrrrsssstttt, or 2 for compatibility, this action selects the first item in the list and replaces the text with that item. When called with an argument of LLLLaaaasssstttt, or 3 for compatibility, this action selects the last item in the list and replaces the text with that item. SelectionBoxRestore(): If neither the selection text nor the directory mask (filter) text has the focus, this action does nothing. Page 17 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) If the selection text has the focus, this action replaces the selection text with the selected item in the file list. If no item in the file list is selected, it clears the selection text. If the directory mask text has the focus, this action replaces the directory mask text with a new directory mask constructed from the XXXXmmmmNNNNddddiiiirrrreeeeccccttttoooorrrryyyyand XXXXmmmmNNNNppppaaaatttttttteeeerrrrnnnn resources. AAAAddddddddiiiittttiiiioooonnnnaaaallll BBBBeeeehhhhaaaavvvviiiioooorrrr The FileSelectionBox widget has the following additional behavior: <<<<KKKKeeeeyyyy>>>><<<<oooossssffffCCCCaaaannnncccceeeellll>>>>: Calls the activate callbacks for the cancel button if it is sensitive. If no cancel button exists and the parent of the FileSelectionBox is a manager, it passes the event to the parent. <<<<KKKKeeeeyyyy>>>><<<<oooossssffffAAAAccccttttiiiivvvvaaaatttteeee>>>> in Selection Text: Calls the selection text widget's XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk callbacks. If XXXXmmmmNNNNmmmmuuuussssttttMMMMaaaattttcccchhhh is True and the selection text does not match an item in the file list, it calls the XXXXmmmmNNNNnnnnooooMMMMaaaattttcccchhhhCCCCaaaallllllllbbbbaaaacccckkkkcallbacks with reason XXXXmmmmCCCCRRRR____NNNNOOOO____MMMMAAAATTTTCCCCHHHH. Otherwise, it calls the XXXXmmmmNNNNooookkkkCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____OOOOKKKK. <<<<KKKKeeeeyyyy>>>><<<<oooossssffffAAAAccccttttiiiivvvvaaaatttteeee>>>> in Directory Mask Text: Calls the directory mask text widget's XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkkcallbacks, initiates a directory and file search, and calls the XXXXmmmmNNNNaaaappppppppllllyyyyCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____AAAAPPPPPPPPLLLLYYYY. <<<<BBBBttttnnnn1111DDDDoooowwwwnnnn>>>>((((2222++++)))) or <<<<KKKKeeeeyyyy>>>><<<<oooossssffffAAAAccccttttiiiivvvvaaaatttteeee>>>> in Directory List: Calls the directory list widget's XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttAAAAccccttttiiiioooonnnnCCCCaaaallllllllbbbbaaaacccckkkkcallbacks, initiates a directory and file search, and calls the XXXXmmmmNNNNaaaappppppppllllyyyyCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____AAAAPPPPPPPPLLLLYYYY. <<<<BBBBttttnnnn1111DDDDoooowwwwnnnn>>>>((((2222++++)))) or <<<<KKKKeeeeyyyy>>>><<<<oooossssffffAAAAccccttttiiiivvvvaaaatttteeee>>>> in File List: Calls the file list widget's XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttAAAAccccttttiiiioooonnnnCCCCaaaallllllllbbbbaaaacccckkkkcallbacks and calls the XXXXmmmmNNNNooookkkkCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____OOOOKKKK. <<<<KKKKeeeeyyyy>>>><<<<oooossssffffSSSSeeeelllleeeecccctttt>>>> in Directory List: Generates a new directory mask, using the selected list item as the directory and the pattern extracted from the current directory mask text as the search pattern. If the search pattern is empty, it uses a pattern that matches all files in Page 18 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) the directory. Replaces the directory mask text with the new directory mask. <<<<KKKKeeeeyyyy>>>><<<<oooossssffffSSSSeeeelllleeeecccctttt>>>> in File List: Replaces the selection text with the selected list item. <<<<BBBBttttnnnn2222DDDDoooowwwwnnnn>>>> in File List: Drags the content of one or more selected list items using the drag and drop facility. If <<<<BBBBttttnnnn2222DDDDoooowwwwnnnn is pressed on an unselected item, drags only that item, excluding any other selected items. This action sets the XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttPPPPrrrroooocccc of the DragContext to a function that calls the XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttCCCCaaaallllllllbbbbaaaacccckkkk procedures of the file list, possibly multiple times, for the ____MMMMOOOOTTTTIIIIFFFF____DDDDRRRROOOOPPPP selection. <<<<BBBBttttnnnn2222DDDDoooowwwwnnnn>>>> in Directory List: Drags the content of one or more selected list items using the drag and drop facility. If <<<<BBBBttttnnnn2222DDDDoooowwwwnnnn is pressed on an unselected item, it drags only that item, excluding any other selected items. This action sets the XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttPPPPrrrroooocccc of the DragContext to a function that calls the XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttCCCCaaaallllllllbbbbaaaacccckkkk procedures of the directory list, possibly multiple times, for the ____MMMMOOOOTTTTIIIIFFFF____DDDDRRRROOOOPPPPselection. <<<<AAAAppppppppllllyyyy BBBBuuuuttttttttoooonnnn AAAAccccttttiiiivvvvaaaatttteeeedddd>>>>: Initiates a directory and file search. Calls the XXXXmmmmNNNNaaaappppppppllllyyyyCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____AAAAPPPPPPPPLLLLYYYY. <<<<OOOOKKKK BBBBuuuuttttttttoooonnnn AAAAccccttttiiiivvvvaaaatttteeeedddd>>>>: If XXXXmmmmNNNNmmmmuuuussssttttMMMMaaaattttcccchhhh is True and the selection text does not match an item in the file list, calls the XXXXmmmmNNNNnnnnooooMMMMaaaattttcccchhhhCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____NNNNOOOO____MMMMAAAATTTTCCCCHHHH. Otherwise, calls the XXXXmmmmNNNNooookkkkCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____OOOOKKKK. <<<<CCCCaaaannnncccceeeellll BBBBuuuuttttttttoooonnnn AAAAccccttttiiiivvvvaaaatttteeeedddd>>>>: Calls the XXXXmmmmNNNNccccaaaannnncccceeeellllCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____CCCCAAAANNNNCCCCEEEELLLL. <<<<HHHHeeeellllpppp BBBBuuuuttttttttoooonnnn AAAAccccttttiiiivvvvaaaatttteeeedddd>>>>: Calls the XXXXmmmmNNNNhhhheeeellllppppCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____HHHHEEEELLLLPPPP. Page 19 (printed 10/3/02) XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx((((3333XXXX)))) <<<<KKKKeeeeyyyy>>>><<<<oooossssffffAAAAccccttttiiiivvvvaaaatttteeee>>>>: If no button, list widget, or text widget has the keyboard focus, if XXXXmmmmNNNNmmmmuuuussssttttMMMMaaaattttcccchhhh is True and the selection text does not match an item in the file list, it calls the XXXXmmmmNNNNnnnnooooMMMMaaaattttcccchhhhCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____NNNNOOOO____MMMMAAAATTTTCCCCHHHH. Otherwise, it calls the XXXXmmmmNNNNooookkkkCCCCaaaallllllllbbbbaaaacccckkkk callbacks with reason XXXXmmmmCCCCRRRR____OOOOKKKK. VVVViiiirrrrttttuuuuaaaallll BBBBiiiinnnnddddiiiinnnnggggssss The bindings for virtual keys are vendor specific. For information about bindings for virtual buttons and keys, see VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss(3). RRRREEEELLLLAAAATTTTEEEEDDDD CCCCoooommmmppppoooossssiiiitttteeee(3), CCCCoooonnnnssssttttrrrraaaaiiiinnnntttt(3), CCCCoooorrrreeee(3), XXXXmmmmBBBBuuuulllllllleeeettttiiiinnnnBBBBooooaaaarrrrdddd(3), XXXXmmmmCCCCrrrreeeeaaaatttteeeeFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx(3), XXXXmmmmCCCCrrrreeeeaaaatttteeeeFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnDDDDiiiiaaaalllloooogggg(3), XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxxGGGGeeeettttCCCChhhhiiiilllldddd(3), XXXXmmmmFFFFiiiilllleeeeSSSSeeeelllleeeeccccttttiiiioooonnnnDDDDooooSSSSeeeeaaaarrrrcccchhhh(3), XXXXmmmmMMMMaaaannnnaaaaggggeeeerrrr(3), and XXXXmmmmSSSSeeeelllleeeeccccttttiiiioooonnnnBBBBooooxxxx(3). Page 20 (printed 10/3/02)